/**
 * @description 通用列表展示
 * 1. 使用地方：
 * 1.1 首页-商品展示
 * 1.2 首页-商品推荐
 * 1.3 列表
 * 1.4 热门信息
 * 
 * 2. 模块
 * 
 * 2.1 图片
 * 2.2 标题
 * 
 * 可选
 * 2.3 价格
 * 2.4 发布者
 * 2.5 发布时间
 * 2.6 点击次数 / 点击时长
 * 2.7 收藏
 * 2.8 点赞
 * 
 * 2.9 描述
 */

import React, { useMemo } from "react"
import GoodList1 from "./Component/GoodList1"
import GoodList2 from "./Component/GoodList2"
import GoodList3 from "./Component/GoodList3"
import GoodList4 from "./Component/GoodList4"
import GoodList5 from "./Component/GoodList5"

let typeMap = {
  '1': GoodList1,
  '2': GoodList2,
  '3': GoodList3,
  '4': GoodList4,
  '5': GoodList5,
}

/**
 * @param { object } param0.base 配置
 * @param { string } param0.base.type 样式几
 * @param { string } param0.base.limit 限制个数
 * 样式三：
 * @param { number | undefined } base.leftLimit 左边个数
 * @param { number | undefined } base.rightLimit 右边个数
 * @returns 
 */
function GoodListEntry({ base }) {

  let ActCom = typeMap[base.type]

  return (
    <ActCom base={base} />
  )
}

export default React.memo(GoodListEntry)